home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / taropyon / hewin / ccisrc / tdpmml.cci < prev    next >
Text File  |  1993-11-30  |  2KB  |  59 lines

  1. /*************************************************************************
  2. *    MML サポート
  3. *************************************************************************/
  4.  
  5. int        mml_tone_gen( char *txd, char *name )
  6. {
  7.     char    tmp[256];
  8.  
  9.     TXD_setBuf( txd, 0, 2, "\r\n");
  10.  
  11.     sprintf( tmp, "#define\tA_%s\t$TONE_MODIFY(64,64,64, 64,64, 64,64,64)\r\n", name );
  12.     TXD_setBuf( txd, 0, strlen(tmp), tmp);
  13.  
  14.     sprintf( tmp, "#define\tF_%s\t$INSTFILTER(off:0,off:0,rnd:-1/1)\r\n", name );
  15.     TXD_setBuf( txd, 0, strlen(tmp), tmp);
  16.  
  17.     sprintf( tmp, "#define\tT_%s\t$F_%s() $INSTMAC(  0, 40, 80, 14,100, 0, 0,12) $A_%s()\r\n", name, name, name );
  18.     TXD_setBuf( txd, 0, strlen(tmp), tmp);
  19.  
  20.     sprintf( tmp, "#define\tD_%s\t?(delay:*0..8)\r\n", name );
  21.     TXD_setBuf( txd, 0, strlen(tmp), tmp);
  22.  
  23.     sprintf( tmp, "#define\tO_%s\to4\r\n", name );
  24.     TXD_setBuf( txd, 0, strlen(tmp), tmp);
  25.  
  26.     sprintf( tmp, "#define\tG_%s\tq92 ?#(gate:*-16..0)\r\n", name );
  27.     TXD_setBuf( txd, 0, strlen(tmp), tmp);
  28.  
  29.     sprintf( tmp, "#define\tC_%s\tv100 x127 i0 m0 p0\r\n", name );
  30.     TXD_setBuf( txd, 0, strlen(tmp), tmp);
  31.  
  32.     sprintf( tmp, "#define\t  %s\t$D_%s() $O_%s() $C_%s() $G_%s() $GenPin()\r\n", name, name, name, name, name );
  33.     TXD_setBuf( txd, 0, strlen(tmp), tmp);
  34.  
  35.     TXD_scnFlush( txd );
  36.     return (NORMAL);
  37. }
  38.  
  39. int        TxdUsr_mml_toneGen( char *txd )
  40. {
  41.     int        ret;
  42.     char    *dlg;
  43.     char    name[128];
  44.  
  45.     DSP_writePage(1);
  46.     dlg = DLG_getsOpen( DLGPOS_MOS_SET_HOME, DLGPOS_MOS_SET_HOME, 320,
  47.                         "音色マクロ名を入力してください。");
  48.     DLG_getsSetTitle( dlg, "MML GENERATE" );
  49.     name[0] = '\0';
  50.     ret = DLG_getsStart( dlg, 127, name );
  51.     if ( ret > 0 && name[0] != '\0' )
  52.     {
  53.         mml_tone_gen( txd, name );
  54.     }
  55.     DLG_getsClose(dlg);
  56.     return (0);
  57. }
  58.  
  59.